#define _CRT_SECURE_NO_WARNINGS
//作者：爱吃糖的boy
#include<stdio.h>
//int Fact(int n);
//int main() 
//{
//	int n;
//	scanf("%d",&n);
//	int ret = Fact(n);
//	printf("%d\n",ret);
//	return 0;
//}
//int Fact(int n)
//{
//	int sum = 1;
//	for ( n ; n >0; n--)
//	{
//		sum = sum * n;
//	}
//	return sum;
//}

//int Fact(int n) 
//{
//	if (n<=0)
//	{
//		return 1;
//	}
//	else
//	{
//		return n * Fact(n - 1);
//	}
//}
//void Print(int n)
//{
//	if (n > 9)
//	{
//		Print(n / 10);
//	}
//	printf("%d ", n % 10);
//}
//int main() 
//{
//	//举例2：顺序打印⼀个整数的每⼀位
//	int m = 0;
//	scanf("%d", &m);
//	Print(m);
//	return 0;
//
//}
//int Fib(int n)
//{
//	if (n <= 2)
//		return 1;
//	else
//		return Fib(n - 1) + Fib(n - 2);
//}

//int Fib(int n);
//int main() 
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fib(n);
//	printf("%d\n",ret);
//	return 0;
//}
//int Fib(int n)
//{
//	int a = 1;
//	int b = 1;
//	int c = 1;
//	while (n > 2)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//		n--;
//	}
//	return c;
//}
//int Kct(int n,int k);
//int main()
//{
//	int n;
//	scanf("%d",&n);
//	int k;
//	scanf("%d", &k);
//	int ret = Kct(n,k);
//	printf("%d\n",ret);
//	return 0;
//}
//int Kct(int n,int k) 
//{
//	if (k == 1)
//		return n;
//	else
//		return n * Kct(n,k-1);
//}
int DigitSum(int n);
int main()
{
	/*写一个递归函数DigitSum(n)，输入一个非负整数，返回组成它的数字之和

		例如，调用DigitSum(1729)，则应该返回1 + 7 + 2 + 9，它的和是19

		输入：1729，输出：19*/

	int n;
	scanf("%d",&n);
	int ret = DigitSum(n);
	printf("%d\n",ret);
	return 0;

}

int DigitSum(int n) 
{
	if (n > 9)
	{
		return n%10+DigitSum(n / 10);
	}
	else
	{
		return n;
	}
	;
}

